Visualization Gallery Unreal Engine Development Kit

Getting Started with the 3D Camera


When setting up your Unreal project meant for the Cyma Rubin Visualization Gallery you will need to utilize a pre-built Unreal project which includes a custom First-Person camera created for use in the space. This pre-built project will give you a basis to either start a new project or migrate the camera to an existing project. The camera has defined features that can be altered for optimization within your specific project, however, the instructions within this section are for general use and may not pertain to a specialization you require. If any questions arise while following these instructions or adjusting the camera, please contact library_hightechspaces@ncsu.edu.


Setting Up Your Project

Before anything else, you are going to need to download the base Unreal project. The camera system was developed for Unreal 5.1. If you already have a project created on a different version of Unreal and you are adapting it for the Visualization Gallery, that is perfectly fine. Just know that some of the instructions provided may differ if you are using a different version and this instruction set does its best to keep the instructions general, but images and videos may not reflect your exact Unreal setup.


Download the Unreal VisSDK Base

Below you will find the link to a github repo with the base project. You will want to download the zip file named VisSDK_Base.zip.


Asset Migration

If you are starting a new Unreal project for the Visualization Gallery, your project setup is now complete and you can skip over this section of the instructions. If you are wanting to add the custom camera to an existing Unreal project, follow along with these instructions. Please note that this process is fairly involved and requires a lot of moving around and manipulation of files.

Firstly, you are going to need to ensure that your Unreal project is a C++ project and not a Blueprints project.

NewCPPProject

If your project is already a C++ project, great. If not, you will need to convert it to a C++ project. To do this, all you will need to do is add a new C++ class and all the necessary files and folders will be created automatically. A guide on how to do this can be found here.

With the base project downloaded, you will now need to migrate the assets from it to your existing project. To do so, you first are going to need to close the Unreal Engine. Next, open your File Explorer of choice, and you are going to need to copy and paste the following files from the VisSDK_Base’s Source/VisSDK_Base folder into your project’s Source/Your_Project_Name folder. For this explanation, the project name is VisSDK_Demo.

  • ASplitScreenManager.cpp and .h
  • VizStudioGameInstance.cpp and .h
  • VizStudioGameViewportClient.cpp and .h

Copy

Paste

With these C++ files now in your project’s Source folder, you are going to need to Open each of the .h files and Find and Replace (ctrl h)

  • Find: VISSDK_BASE
  • Replace: YOUR_PROJECT_NAME

The following images show an example of this with the ASplitScreenManager.h file. You will need to do this with VizStudioGameInstance.h and VizStudioGameViewportClient.h as well. Don’t forget to save these changes.

HeaderBefore

HeaderAfter

With the header files edited and saved, you will need to navigate to your project’s root folder and delete the Binaries and Intermediate folders.

FoldersToDelete

AfterFolderDeletion

With these folders deleted, you will now need to regenerate the Visual Studio project files. To do this, you can right click the .uproject file and select Generate Visual Studio project files.

GenerateFiles

Now open your project and when asked to build, say yes.

Rebuild

When the project opens, check the C++ Classes folder and ensure the 3 classes are there.

DoubleCheckCPP

To continue, first close your project, then navigate to the Config folder, and open the DefaultEngine.ini file.

OpenDefaultEngine

With this file opened, scroll down to find the section labeled with [/Script/Engine.Engine] and add the following lines (don’t forget to replace (New Project) with your project name) and save:

  • +ActiveClassRedirects=(OldClassName=”/Script/VisSDK_Base.ASplitScreenManager”,NewClassName=”/Script/(New Project).ASplitScreenManager”)
  • +ActiveClassRedirects=(OldClassName=”/Script/VisSDK_Base.VizStudioGameInstance”,NewClassName=”/Script/(New Project).VizStudioGameInstance”)
  • +ActiveClassRedirects=(OldClassName=”/Script/VisSDK_Base.VizStudioGameViewportClient”,NewClassName=”/Script/(New Project).VizStudioGameViewportClient”)

FindScriptEngineSection

AddClassRedirects

You can now close this file and open the VisSDK_Base Unreal Project so that we can migrate the necessary Blueprints from the base project into your project.

OpenBase

VisSDK_Base

In the Content Browser, you need to right click VizGameMode and select Asset Actions → Migrate.

SelectAssetMigration

Select OK.

AssetMigrationOK

Find the content folder for your project and select that folder as the migration location for the blueprint files.

SelectContentSaveLocation

Once the Blueprints are done migrating, you can close the VisSDK_Base project and open your project.

OpenDemo

Once your project is open, double check to make sure that the Blueprints were migrated into your project by checking the Content Browser in the Content folder.

DoubleCheckAssetMigration

With this done, asset migration is complete.


Project Configuration

With asset migration complete, you can now drag and drop the VizParentPawn into your Unreal scene and place it where you want the camera to be located.

AddParentPawn

Now that the camera pawn has been added to the scene, you will need to update some of the Project Settings to ensure that the camera works. First, open Edit → Project Settings and navigate to Maps and Modes.

OpenProjectSettings

OpenMapsAndModes

You will now need to set the Default Game Mode to be VizGameMode.

SelectDefaultGameMode

DoubleCheckGameMode

Next, you will need to set the Game Instance to be VizStudioGameInstance.

SelectGameInstance

DoubleCheckGameInstance

With these settings set, you can now test your project by hitting Play. If the camera looks like a long rectangle showing a 360 degree view of your scene, then the project set up is complete.

Play


Further Configuration

If you would like to edit the camera in any way, we recommed that you follow the Advanced Setup section of this course which includes an depth tutorial on creating the Unreal camera for the Visualization Gallery. This tutorial takes you through the steps of creating the Blueprints and details how to add movement and a variety of other features not included in the base camera.

If you are wanting to add movement to your project, please keep motion sickness in mind. The Cyma Rubin Visualization Gallery is an immersive experience, meaning extra precautions need to be taken when working with motion. We would recommend that vertical rotation of the camera array either be minimal or nonexistent. If horizontal rotation is needed, keep the speed of the rotation fairly slow. We would also recommend that any vertical motion be tightly controlled as to not cause a feeling of falling through the floor.


Final Words

Once you have ensured that the camera is set up properly, then you should be all set to view your project within the Visualization Gallery.

In order to schedule time to test your project within the Visualization Gallery, please follow the instructions here.